جزوه · کمک گرفتن در لینوکس (man, --help, -h) ← بازگشت به فهرست
📘 فصل اول · جلسه هشتم کمک گرفتن در لینوکس (man, --help, -h)
📅 تاریخ: ۱۸ مرداد ۱۴۰۵ 👤 مدرس: محمد عابدینی 🐚 شل: Zsh · 🐧 سیستم: Debian

▍ مقدمه

یکی از مهم‌ترین مهارت‌ها در لینوکس، دانستن روش‌های کمک گرفتن است. شما نمی‌توانید همه دستورات و گزینه‌های آن‌ها را به خاطر بسپارید. خوشبختانه، لینوکس ابزارهای قدرتمندی برای مشاهده راهنما و مستندات دستورات در اختیار شما قرار می‌دهد. در این جلسه با سه روش اصلی آشنا می‌شویم: man، --help و -h.

📌 هدف این جلسه:

پس از مطالعه این جزوه، شما قادر خواهید بود:

  • با دستور man مستندات کامل یک دستور را مشاهده کنید
  • از گزینه --help برای مشاهده راهنمای سریع استفاده کنید
  • تفاوت بین -h و --help را بدانید
  • در محیط Zsh به راحتی از این ابزارها استفاده کنید

▍ فرمان man (Manual Pages)

فرمان man مخفف Manual است و کامل‌ترین و دقیق‌ترین منبع راهنما برای دستورات لینوکس محسوب می‌شود. این فرمان صفحات راهنما (Manual Pages) را نمایش می‌دهد که شامل توضیحات کامل، گزینه‌ها، مثال‌ها و گاهی فایل‌های مرتبط است.

📝 نحوه استفاده:
┌──(user㉿kali)-[~] └─$ man ls

این دستور صفحه راهنمای کامل فرمان ls را نمایش می‌دهد.

• کلیدهای میانبر در man

محیط man از همان کلیدهای less استفاده می‌کند:

کلید عملیات
Space یا Page Down رفتن به صفحه بعد
b یا Page Up رفتن به صفحه قبل
/ جستجوی عبارت (مثل /option)
n رفتن به نتیجه بعدی جستجو
N رفتن به نتیجه قبلی جستجو
g رفتن به ابتدای صفحه
G رفتن به انتهای صفحه
q خروج از man
h نمایش راهنمای کلیدهای میانبر

• بخش‌های صفحات man

صفحات راهنما به چند بخش تقسیم می‌شوند که هر کدام اطلاعات خاصی را پوشش می‌دهند:

بخش توضیح
NAME نام دستور و توضیح مختصر
SYNOPSIS نحوه استفاده (سینتکس) از دستور
DESCRIPTION توضیحات کامل در مورد دستور و کاربرد آن
OPTIONS لیست کامل گزینه‌ها (سوییچ‌ها) با توضیحات
EXAMPLES مثال‌های کاربردی (در برخی دستورات)
SEE ALSO دستورات مرتبط و پیشنهادی
AUTHOR نویسنده دستور

• جستجو در صفحات man

اگر نام دقیق دستور را نمی‌دانید، می‌توانید از man -k یا apropos برای جستجو استفاده کنید.

📝 جستجوی دستورات مرتبط با کپی:
┌──(user㉿kali)-[~] └─$ man -k copy cp (1) - copy files and directories
cpio (1) - copy files to and from archives
dd (1) - convert and copy a file
install (1) - copy files and set attributes

این دستور همه دستوراتی که کلمه copy در توضیحات آن‌ها وجود دارد را نشان می‌دهد.

💡 نکته مهم در Zsh:

در Zsh، می‌توانید با تایپ یک دستور و زدن Alt + ? (یا Option + ? در مک) و یا با تایپ which، مسیر دقیق دستور را پیدا کنید. سپس با man آن را مشاهده کنید.

▍ گزینه --help

گزینه --help (با دو خط تیره) یک راهنمای مختصر و سریع از یک دستور ارائه می‌دهد. این گزینه معمولاً برای دستورات خارجی (External) (مانند ls، cp، grep) کار می‌کند و لیست گزینه‌های اصلی را نمایش می‌دهد.

📝 مثال:
┌──(user㉿kali)-[~] └─$ ls --help

این دستور راهنمای سریع فرمان ls را نمایش می‌دهد که شامل گزینه‌های اصلی است.

• ویژگی‌های --help

⚠️ نکته:

برخی دستورات داخلی (built-in) Zsh مانند cd، echo، history از --help پشتیبانی نمی‌کنند. برای این دستورات از man یا راهنمای خود Zsh استفاده کنید.

▍ گزینه -h

گزینه -h (با یک خط تیره) مشابه --help است اما در برخی دستورات به معنای چیز دیگری است. به عنوان مثال:

دستور معنی -h
ls -h Human-readable (نمایش اندازه فایل به صورت قابل خواندن: 1K, 2M, 3G)
df -h نمایش فضای دیسک به صورت قابل خواندن
du -h نمایش اندازه دایرکتوری‌ها به صورت قابل خواندن
curl -h نمایش راهنما (مشابه --help)
⚠️ هشدار مهم:

-h همیشه به معنای راهنما نیست! در بسیاری از دستورات، -h مخفف "human-readable" است. بنابراین برای مشاهده راهنما، بهتر است از --help یا man استفاده کنید.

▍ مقایسه سه روش کمک گرفتن

📖

man

  • کامل‌ترین مستندات
  • همراه با مثال و توضیحات دقیق
  • مناسب برای یادگیری عمیق
  • در همه دستورات (داخلی و خارجی) کار می‌کند
  • سرعت: متوسط

--help

  • مختصر و سریع
  • فقط گزینه‌های اصلی
  • مناسب برای مرور سریع
  • فقط روی دستورات خارجی کار می‌کند
  • سرعت: سریع
🔍

-h

  • معنی متغیر دارد
  • معمولاً = human-readable
  • گاهی = help (در برخی دستورات)
  • قبل از استفاده مطمئن شوید
  • سرعت: وابسته به دستور

▍ نکات مخصوص Zsh

در Zsh، ابزارهای کمک‌رسان قدرتمندتری نیز وجود دارند:

📝 مثال در Zsh:
┌──(user㉿kali)-[~] └─$ which ls /usr/bin/ls └─$ whereis ls ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz

▍ جمع‌بندی

✅ تمرین پیشنهادی:

۱. با man ls صفحه راهنمای ls را باز کنید و بخش OPTIONS را بخوانید.
۲. با ls --help راهنمای سریع ls را مشاهده کنید.
۳. تفاوت خروجی ls -h و ls را مقایسه کنید.
۴. با man -k network دستورات مرتبط با شبکه را جستجو کنید.
۵. با which و whereis مسیر دستور cat را پیدا کنید.